package com.letsgo;
/**
 * Board Node Type
 */
enum BNT {EMPTY, BLACK, WHITE};

/**
 * Class used to represents a board node
 * row and col are the board node's position
 * value is used for scoring (basically 1.0f)
 * type is the "color" of the board node, it can be BNT.EMPY | BNT.BLACK | BNT.WHITE
 */
public class BoardNode {
	private float value ;
	private BNT type ;
	private int row ;
	private int col ;
	
	/**
	 * Basic constructor
	 * @param row of the node
	 * @param col of the node
	 * @param value of the node, basically 1, but could change
	 * @param type type of the node : BNT.EMPY | BNT.BLACK | BNT.WHITE
	 */
	public BoardNode(int row, int col, float value, BNT type)
	{
		this.row = row ;
		this.col = col ;
		this.value = value ;
		this.type = type ;
	}
	
	/**
	 * Constructor
	 * @param row of the node
	 * @param col of the node
	 */
	public BoardNode(int row, int col)
	{
		this(row, col, 1.0f, BNT.EMPTY);
	}
	
	/**
	 * Default constructor
	 * row = 0, col = 0, value = 1.0f, type = BNT.EMPTY
	 */
	public BoardNode()
	{
		this(0, 0, 1.0f, BNT.EMPTY);
	}

	/**
	 * @return the row
	 */
	public int getRow() {
		return row;
	}

	/**
	 * @param row the row to set
	 */
	public void setRow(int row) {
		this.row = row;
	}

	/**
	 * @return the col
	 */
	public int getCol() {
		return col;
	}

	/**
	 * @param col the col to set
	 */
	public void setCol(int col) {
		this.col = col;
	}

	/**
	 * @return the value
	 */
	public float getValue() {
		return value;
	}

	/**
	 * @param value the value to set
	 */
	public void setValue(float value) {
		this.value = value;
	}

	/**
	 * @return the type
	 */
	public BNT getType() {
		return type;
	}

	/**
	 * @param type the type to set
	 */
	public void setType(BNT type) {
		this.type = type;
	}
}
